#ifndef LISTCAPA_H
#define LISTCAPA_H

#include <string>

using namespace std;

/**
 * Gestion des capacités raciales. Permet d'associer à une capacité un
 * coût. Utiliser une classe plutôt qu'une struct permet d'avoir un
 * constructeur par défaut et un constructeur de copie. De plus, on a
 * le loisir de surcharger l'opérateur <<.
 */
class ListCapa
{
 public:
  ListCapa(const string& capa = "", const unsigned int& prix = 0);
  ListCapa(const ListCapa& lsCapa);
  ~ListCapa();
  /**
   * Permet de réaliser l'affichage simple d'une ListCapa. Le nom et le
   * coût sont affichés.
   *
   * @param os flot de sortie sur lequel on veut écrire.
   * @param lsCapa capacité que l'on veut écrire.
   * @return le flot os, modifié.
   */
  friend ostream& operator<<(ostream& os, const ListCapa& lsCapa);
  string Capa;       /**< Nom de la capacité raciale */
  unsigned int Cout; /**< Cout de la capacité en PP*/
};

#endif // LISTCAPA_H
